奶牛体检

题目 奶牛体检

image-056642b0

思路分析

image-24dafdc9

代码实现

#include<bits/stdc++.h>

using namespace std;

#define endl '\n'

int main() {

    int N;cin >> N;

    vector<int> a(N), b(N);

    for (int i = 0; i < N; ++i)     cin >> a[i];

    for (int i = 0; i < N; ++i)     cin >> b[i];

    vector<int> count(N + 1, 0);

    for (int l = 0; l < N; ++l) {

        for (int r = l; r < N; ++r) {

            vector<int> temp = a;

            int current_l = l;

            int current_r = r;

            while (current_l < current_r) {

                swap(temp[current_l], temp[current_r]);

                current_l++;

                current_r--;

            }

            int matched = 0;

            for (int i = 0; i < N; ++i) {

                if (temp[i] == b[i]) {

                    matched++;

                }

            }

            count[matched]++;

        }

    }

    for (int i = 0; i <= N; ++i) {

        cout << count[i] << endl;

    }

    return 0;

}

同类题型

视频讲解


⬅️ 奶牛体操 🏠 00-刷题理模型 ➡️ 小平方